﻿@{
    ViewBag.Title = "Three Wheel";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
<script type="text/javascript">

    var snagl = null;                           // Represents the scriptable object within Snagl
    var preload = true;                         // Indicates whether sample data should be preloaded
    var sampleDataFile = "/Content/GraphML/3wheel_sample.xml";   // Indicates the name of the file containg the sample data to be preloaded

    // This event is fired after the Silverlight plugin (Snagl)
    // is fully loaded.  The "sender" is a reference to the actual
    // plugin so we save it into a variable for safe keeping.  All
    // initiall calls to Snagl should be place within this function.
    function onSnaglRootLoaded(sender, args) {
        // Get the instance of the scriptable object
        // within the SnagL application that is used
        // to interact with SnagL
        snagl = sender.getHost().Content.SNAGL;

        // Wire up any events
        var snaglLoadedToken = snagl.addEventListener("SnaglLoaded", onSnaglLoaded);
        //var nodeDblClickedToken = snagl.addEventListener("NodeDoubleClicked", onNodeDoubleClicked);
    }

    //
    function onSnaglLoaded(sender, args) {

        // Preload data into SnagL, if configured to do so
        if (preload)
            preLoadGraphdata(preLoadCompleteCallback, sampleDataFile);

    }

    function onNodeDoubleClicked(sender, args) {
        alert("Node " + args.Id + " was double clicked!");
    }

    // This function loads the provided text file (as text) from the
    // server and returns its contents to the method that called 
    function preLoadGraphdata(callback, dataFile) {

        // This call uses an AJAX call, back to the server, in order
        // to synchronously get the desired file.  The contents of
        // the file, once retrieved, is passed to the specified
        // callback function.
        $.ajax({
            type: "GET",
            url: dataFile,
            dataType: $.browser.msie ? "text" : "html",
            async: false,
            cache: false,
            success: callback
        });
    }

    //
    function preLoadCompleteCallback(data) {

        // This call loads the provided data into the graph.  The 
        // 'LoadGraphML' method is capable of parsing
        // GaphML data.
        snagl.draw(data, "graphml");
    }

    function onSilverlightError(sender, args) {
        var appSource = "";
        if (sender != null && sender != 0) {
            appSource = sender.getHost().Source;
        }

        var errorType = args.ErrorType;
        var iErrorCode = args.ErrorCode;

        if (errorType == "ImageError" || errorType == "MediaError") {
            return;
        }

        var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n";

        errMsg += "Code: " + iErrorCode + "    \n";
        errMsg += "Category: " + errorType + "       \n";
        errMsg += "Message: " + args.ErrorMessage + "     \n";

        if (errorType == "ParserError") {
            errMsg += "File: " + args.xamlFile + "     \n";
            errMsg += "Line: " + args.lineNumber + "     \n";
            errMsg += "Position: " + args.charPosition + "     \n";
        }
        else if (errorType == "RuntimeError") {
            if (args.lineNumber != 0) {
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            errMsg += "MethodName: " + args.methodName + "     \n";
        }

        throw new Error(errMsg);
    }

</script>
<div id="silverlightControlHost">
    <object id="snagl_silverlight" data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">
		<param name="source" value="/ClientBin/Berico.SnagL.xap"/>
		<param name="onError" value="onSilverlightError" />
		<param name="background" value="white" />
		<param name="minRuntimeVersion" value="4.0.50826.0" />
		<param name="autoUpgrade" value="true" />
        <param name="onLoad" value="onSnaglRootLoaded" />
        <param name="initParams" value="applicationMode=Release" />
		<a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=4.0.50401.0" style="text-decoration:none">
 			<img src="http://go.microsoft.com/fwlink/?LinkId=161376" alt="Get Microsoft Silverlight" style="border-style:none"/>
		</a>
	</object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe>
</div>
<iframe id="htmlContentIFrame" style="position:absolute; visibility: hidden; height: 250px; width: 250px; border: 1px; background-color: Aqua" frameborder="0" scrolling="no" />